package cn.csg.iotplatform.module.system.dal.dataobject.logger;

import cn.csg.iotplatform.framework.mybatis.core.dataobject.BaseDO;
import cn.csg.iotplatform.framework.mybatis.core.dataobject.BaseExtDO2;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import java.time.LocalDateTime;
import java.util.Date;
import java.util.Map;


/**
 * 日志实体
 * @author hejing
 * @date 20240511
 */
@TableName(value = "system_gateway_log", autoResultMap = true)
@KeySequence("system_gateway_log") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class GatewayLogDO extends BaseExtDO2 {
    private static final long serialVersionUID = -3205904134722576668L;
    /**
     * 日志主键
     */
    @TableId
    private Long id;
    /**
     * 访问实例
     */
    private String targetServer;
    /**
     * 请求路径
     */
    private String requestPath;
    /**
     * 请求与方法
     */
    private String method;
    /**
     * 请求协议
     */
    private String requestSchema;
    /**
     * 请求ip
     */
    private String ip;
    /**
     * 请求时间
     */
    private LocalDateTime requestTime;
    /**
     * 请求参数
     */
    private String queryParams;
    /**
     * 请求体
     */
    private String requestBody;
    /**
     * 请求执行时长
     */
    private Long executeTime;
    /**
     * 请求类型
     */
    private String requestContentType;
    /**
     * 相应状态码
     */
    private int code;
}
